/**
 * Json处理工具
 * 
 * @type
 * @author miaofc
 */
var JsonUtils = {

	/**
	 * 将js对象转化为json字符串
	 * 
	 * @param {}
	 *            obj
	 */
	/*
	encode : function(obj) {
		var re;
		switch (typeof(obj)) {
			// 数值、布尔、函数，直接返回对应的字符串
			case "number" :
			case "boolean" :
			case "function" :
				return (String(obj));
				break;
			// 字符串
			case "string" :
				// 特殊符号处理
				return ("\""
						+ obj.replace("\\", "\\\\").replace("/", "\\/")
								.replace("\"", "\\\"").replace("\'", "\\'")
								.replace("\b", "\\b").replace("\f", "\\f")
								.replace("\n", "\\n").replace("\r", "\\r")
								.replace("\t", "\\t") + "\"");
				break;
			// 对象的转化
			case "object" :
				switch (obj.constructor) {
					// 只返回Date对象的time域，可直接被后台的json-lib还原成Date对象
					case Date :
						return ("{time:" + obj.getTime() + "}");
						break;
					// 正则表达式，返回正则字符串
					case RegExp :
						return ("\""
								+ String(obj.source.replace(/(\w)/g, "\\$l")
										+ "\",\"" + (obj.global ? "g" : "")
										+ (obj.ignoreCase ? "i" : "")
										+ obj.multiline ? "m" : "") + "\"");
						break;
					// 数组
					case Array :
						re = new Array();
						// 遍历每个元素，并依次调用自身方法，计算元素的json字符串
						for (var i = 0; i < obj.length; i++) {
							re.push(this.encode(obj[i]));
						}
						return ("[" + re.join(",") + "]");
						break;
					// 自定义对象
					default :
						re = new Array();
						// 遍历每个属性，并依次调用自身方法，计算各属性的json字符串
						for (var i in obj) {
							re.push(this.encode(i) + ":" + this.encode(obj[i]));
						}
						return ("{" + re.join(",") + "}");

						break;
				}
		}
	},
	*/

	/**
	 * 将json字符串转化为js对象
	 * 
	 * @param {}
	 *            str json字符串
	 * @return js对象
	 */
	decode : function(str) {
		if (str == null) {
			return null;
		}
		return eval("(" + str + ")");
	}

}